[IAD-MIGRATION-116] Создать миграцию

Декларация бакетов объектного хранилища MinIO и структуры логов ненадежности

Author

Services Task & Simulation Framework Documentation

Published

July 13, 2026

NoteКраткая карточка задачи
  • Репозиторий / Компонент: deploy-infrastructure / auth-service (Хранилище MinIO / База auth_db).
  • Целевая СУБД: MinIO S3 API / PostgreSQL v15+.
  • Ссылка на Метод: Конфигурация метода
  • Статус: Готово к реализации

  • Инструкция по шагам: Создать изолированный бакет в объектном хранилище для бинарных аудиофайлов (.mp3/.ogg) и применить DDL-миграцию в auth_db для фиксации логов хронических abuse-нарушений («пользователь ненадежен»).
-- Инициализация инфраструктуры S3 (Псевдокод конфигурации бакета MinIO)
-- BUCKET NAME: bpds-inventory-voice-streams
-- POLICY: Private (Доступ только по подписанным URL / Presigned URLs с TTL 15 минут)

-- Скрипт миграции для auth_db (Контур SECURITY)
CREATE TABLE IF NOT EXISTS auth_db.unreliable_user_logs (
    id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    user_id VARCHAR(64) NOT NULL,
    trace_id VARCHAR(128) NOT NULL, -- X-Request-ID исходного аудио-запроса
    audio_s3_url TEXT NOT NULL,      -- Ссылка на скомпрометированный файл
    violation_count INTEGER NOT NULL, -- Счетчик нарушений на момент лога (>= 2)
    detected_at TIMESTAMP WITH TIME ZONE DEFAULT NOW()
);

CREATE INDEX IF NOT EXISTS idx_unreliable_users 
ON auth_db.unreliable_user_logs (user_id, detected_at DESC);